Method and system for creating site specific coupons at a plurality of remote locations which are controlled by a central office

ABSTRACT

A central server at a home office is connected to remote processing stations at multiple remote sites such as convenience stores. The remote processing station is used to create and print various financial instruments which include money orders, payroll checks, vendor drafts, and gift certificates. The financial instruments are printed on blank paper using MICR toner in a standard laser printer, thereby eliminating the need for preprinted forms. Transaction logs are maintained and communicated to the central server where records for all locations are maintained. The central server also authorized payroll checks for the employees of the remote locations and sends authorization to the locations where the actual payroll checks are printed. Additionally, the system can be used to create and distribute site specific coupons to remote locations. A general coupon template is loaded onto the central server of the data processing system along with site specific information to be printed on each coupon. A particular remote processing station at a remote site can call in to the central server and download the general coupon template and the site specific information for that particular site. The remote processing station then combines the template with the site specific information and prints the site specific coupon.

CROSS REFERENCE TO RELATED APPLICATION

This application is a continuation in part of pending prior Application Ser. No. 08/315,224, filed Sep. 29, 1994.

TECHNICAL FIELD OF THE INVENTION

The present invention relates in general to data processing systems and in particular to a method and system within a data processing system for automatically creating a financial instrument utilizing blank paper. Still more particularly, the present invention relates to a method and system within a data processing system for automatically creating a financial instrument, utilizing blank paper, having a first and a second plurality of parameters, and including a centralized server and a plurality of remote processing stations. The remote processing stations print the financial instrument and send the parameters of the printed instrument to the centralized server.

Additionally, the present invention relates to a system that utilizes the central server and remote processing stations to create coupons specific to each remote processing stations specific site.

BACKGROUND OF THE INVENTION

A financial instrument may be a written document which is legally capable of being transferred by endorsement or delivery. A financial instrument typically will include an unconditional promise to pay a sum certain in money payable on demand or at a definite time payable to the bearer or a particular person or entity. In order to be legally binding, a financial instrument will include a signature. Examples of types of financial instruments include personal checks, payroll checks, money orders, beer drafts, and even gift certificates.

Some states may require that shipments of liquor or beer be paid for at the time of delivery. A "beer draft" is a financial instrument which may be used to pay for such a shipment. A beer draft will include an unconditional promise to pay a specified amount of money to a particular beer or liquor vendor. Therefore, upon receipt of a shipment of liquor, a beer draft may be issued to the vendor for the amount of the invoice of the shipment.

Financial instruments may be created by completing a pre-printed form, such as that supplied by a financial institution to be used as personal checks. These pre-printed checks are typically sold to a consumer by the financial institution. These checks typically are pre-printed with parameters including a number which identifies the associated financial institution, an account number, the printed name of the financial institution, a check number, and other personal information regarding the person or entity owning the account such as name, address, telephone number, or driver's license number.

These checks also include areas to be completed by the person or entity owning the account. In order to draw funds against the account, the person must complete the financial instrument, in this case the personal check, by filling in the areas. The person will typically add parameters such as a date, payee to whom the financial instrument is being transferred, an amount, and a signature. Once the check is completed, it becomes legally negotiable.

The owner may keep a record of transactions by manually entering each transaction into a log typically supplied by the financial institution with the pre-printed checks. The owner usually enters a check number, data, payee, and amount of the check into the log.

Some known data processing systems permit a user, an owner of an account, to create a financial instrument using the data processing system which includes a printer, and a preprinted form. In these systems, the parameters include date, payee, and amount are received by the data processing system. The data processing system may then create the financial instrument by printing the received parameters, utilizing the printer, on the pre-printed form. In order to become legally negotiable, the user must sign the printed financial instrument.

These data processing systems may create a record of transactions by entering each transaction into a log typically maintained and stored within the data processing system. The data processing system usually enters a check number, data, payee, and amount of the check into the log.

Payroll checks are typically created in a manner similar to that described above for printing personal checks using a data processing system. These payroll checks are also typically printed on pre-printed forms.

Money orders are another example of a type of financial instrument. It is known in the prior art to be able to print money orders using a data processing system and printer. A user is supplied with pre-printed money order forms. These pre-printed forms may be numbered in sequence and may include similar pre-printed parameters such as those discussed above for personal checks. These pre-printed parameters may include a number which identifies the associated financial institution, the money order number, and other information such as the printed name of the financial institution. The user may enter parameters such as a payee, date, and amount. The data processing system then prints these parameters on the pre-printed money order form.

The data processing system may maintain a record of the transaction. In these systems, the record includes a list of money order numbers. The user is supplied with pre-printed money orders having corresponding numbers to those already recorded. A user must insert the pre-printed money orders into the data processing system in a particular order, typically numerical order. Each time a money order is printed using the data processing system, the date and amount may be entered into the record and associated with its corresponding money order number. If the pre-printed money orders are not in the proper sequence, the record will not maintain an accurate report of the date and amount for the particular money order number.

Additionally, coupons have previously been printed and distributed in enormous quantities to keep costs as low as possible. This is wasteful because many of the coupons will never be distributed. It is usually the practice to print and distribute to distribution location many more coupons than will ever be used because it is very difficult to predict in advance how many will be delivered to customers. In order to be printed in bulk the content of the coupons cannot be varied, that is all the coupons must be identical. Additionally, once the coupons are printed in this fashion they must still be distributed to the ultimate consumer. This usually involves bulk mailings or insertion into periodicals such as newspapers. This method of distribution results in severe waste because of the inability to target a particular type of consumer or delays in the distribution which result in the coupon being delivered to close to or even after its distribution date.

Another problem with this system of printing and distribution is that it precludes printing coupons that target specific locations or marketing areas or that respond quickly to unique marketing conditions. Coupons that are printed in bulk must be generalized to cover a large market area which will probably include many stores having vastly different demographics. A method is needed to distribute coupons to consumers that are tailored to the needs of individual locations and market conditions.

SUMMARY OF THE INVENTION

The present invention has the goal of 1) providing an efficient, compact system to print money orders, payroll checks, negotiable checks to vendors, known as "beer drafts," or "vendor drafts," gift certificates, and site specific coupons 2) employing low maintenance equipment, 3) automating the recording of transactions involving payroll checks, money orders, beer drafts, gift certificates or other drafts, which results in less human error, 4) eliminating the need to deliver payroll checks from a remote central location, 5) providing vendor drafts in real time at the point of delivery, 6) creating a flexible and expandable system to create financial instruments at remote locations tied to a central office.

It is therefore one object of the present invention to provide an improved data processing system.

It is another object of the present invention to provide a method and system within a data processing system for automatically creating a financial instrument utilizing blank paper.

It is yet another object of the present invention to provide a method and system within a data processing system for automatically creating a financial instrument, utilizing blank paper, having a first and a second plurality of parameters wherein the first plurality of parameters are data or identification which relate to a particular type of financial instrument and remain constant from transaction to transaction and the second plurality of parameters are data or identification which may vary from that of the prior or succeeding transactions.

Another object of the invention is to enhance flexibility by allowing the central office to quickly and easily change ones of the constant fixed first plurality of parameters instantly in real time for all remote locations at the same point in time.

A further object of the present invention related to the previous object is to simplify operation of a system of financial instrument utilization by eliminating the need to order, control or destroy inventories of preprinted form instruments if an account number or financial institution, for example, is to be changed for business reasons.

Yet another object of the invention relates to creating coupons that are individualized to specific remote locations. A general coupon template is provided, and details customized to a specific location are provided that are added to the general template to form a site specific coupon.

Another object of the invention includes a centralized server at a home office onto which a general coupon template, and site specific information are loaded. A location instruction file is also provided on the centralized server for each remote location allowing a remote processing station at a remote location to download the proper elements from the centralized server. Once the remote processing station has connected to the centralized server the instruction file is accessed which tells the remote processing which generalized coupon templates and which site specific information files should be downloaded by that specific site.

Financial instruments such as money orders are often sold by convenience stores. In known systems, blank money order forms are supplied to the convenience store. These forms include pre-printed information such as a money order number, financial institution name on which the money order may be drawn, and blank areas to be completed during each transaction. A blank money order form may then be completed by printing a payee's name, amount in words and numbers, and date in the appropriate blank area.

Often the money order is printed utilizing a computer system having a printer. In these systems, a transaction log may be maintained which may initially include a list of money order number in an expected sequence. After a money order is sold, the date, amount, and other information may be included in the transaction log and associated with the next money order number in the sequence.

A problem occurs in these systems when the preprinted money order forms are not sold and printed in the sequence expected by the transaction log. There are numerous problems which could cause the money order forms not to be printed in the expected sequence. For example, the forms may be loaded into the printer in the wrong sequence. The forms may not be aligned properly within the printer during printing thus causing the printed information to be illegible and the money order to be unusable.

When the money order forms are not printed in the expected sequence, the date and amount of a money order may not be associated with the correct money order number. When this occurs, the transaction log will not be an accurate record of the money orders sold and tracing or matching will be difficult. These problems are eliminated because the present invention prints the number of the money order on the money order and records it in the log. The money orders printed sold each day are automatically accurately recorded and phoned in as a report to the home office computer. An internal record of the current sequence numbers eliminates the problem of mismatching the record sequence with the physical sequence for money orders. Beer drafts are recorded and reported to the home office in the same fashion.

The elimination of mismatching between the record of the transaction and the transaction document solves a serious problem because when the money orders are cashed, the bank or money order company reports back with the information on the transaction document to report how much they deducted from the seller's account. The money order seller has to be able to determine if they really sold that money order in order to maintain control of their accounts, prepare reports and prevent fraud. These functions all require use of the money order or check number, which for the first time will now correspond to the recorded log of transactions.

In addition to being more reliable, the process of issuing and recording information on money orders sold and checks issued and reconciling that information is greatly speeded up. The security risk inherent in storing preprinted money orders at convenience stores or other remote locations, is greatly eliminated because the invention requires only blank paper. In addition, limitations as to who can print transaction documents and the maximum transaction amount that can be printed is under control of the home office through a password and a limitation on the amount a money order, beer draft or other transaction document can be issued for.

Some convenience stores also receive shipments of liquor which may require immediate payment by the convenience store to the liquor vendor by issuance of a beer draft. It is known for a convenience store to provide its employees with a blank checkbook and expect an authorized employee to write a check for the invoice amount once a shipment is received, and to properly maintain a record of each check.

However, when a store permits an employee to issue checks and keep an accurate record of each transaction, a series of problems may arise. For example, the employee may neglect to keep a record of the transaction, or may not correctly record the transaction. Further, in this system, no security is maintained. A dishonest employee may easily write unauthorized checks. These problems are eliminated because the manager at the store location is now able to print his checks on demand at the store location which are recorded automatically and sent back to the home office for control purposes.

Another problem experienced by companies having numerous convenience store locations occurs during the printing and distribution of the payroll. Often, the company will have a home office location, and numerous convenience stores which may be located within the same city as the home office or may be located thousands of miles away from the home office. The company will typically pay its convenience store employees on a weekly basis. The check is typically given to the employee at the end of the week and includes the salary earned by the employee for the current or previous week.

For a company having multiple store locations and many employees, it is difficult and expensive to produce checks every week at many remote store locations that accurately reflect the amount earned by a particular employee during the week. These employees are often paid on an hourly basis. The number of hours worked each week by a particular employee may vary from week to week. In addition, for various reasons, an employee may not work the hours in a week that the employee was initially scheduled to work.

Therefore, a company will often wait until shortly before the payday to print the payroll. Once the payroll has been printed, it may be sorted according to store location. Thereafter, in order to have the checks available to the employees on the appropriate date, the company may use an overnight shipping service. The weekly cost of sorting checks according to location and then sending the checks utilizing an overnight shipping service can be very high where the company has many stores and hundreds or thousands of employees.

Problems may occur in the above describe method of issuing payroll checks. For example, the amount of the issued check may be incorrect. When this occurs, the employee must wait an additional period of time to receive a paycheck. In addition, the entire payroll shipment to a particular store could be delayed or lost causing the need to reissue the checks. These problems are eliminated with the present invention because the manager at the store location is now able to print his payroll on demand at the store location and the payroll is recorded automatically on a log and sent back to the home office for control purposes.

According to the present invention, pre-printed forms are not needed in order to print financial instruments such as money orders and beer drafts. When a money order is to be printed, a valid password must first be entered. Thereafter, the employee may insert blank paper into the printer included within the remote data processing system and print a complete money order. All necessary parameters will be printed by the remote data processing system.

Pre-printed money order forms include parameters as described above such as a money order number, financial institution name and account number. These fixed parameters which have been pre-printed on money order forms in known systems, may now be printed on blank paper at the remote data processing system by the present invention. In addition to printing these parameters, in accordance with the present invention, the variable parameters such as amount and date are also printed on the paper simultaneously with the money order number, financial institution name and account number. The system described above can also be used to print gift certificates with minimal additions.

After a money order or gift certificate is printed, the parameters are recorded in a log. The number will be associated with the date and amount. In this manner, problems associated with known systems may be avoided. In the present invention, utilizing blank paper instead of pre-printed forms, money order numbers are printed and recorded simultaneously with the date and amount. Therefore, no particular sequence of money order number is expected or necessary.

Only those authorized employees with a valid password may print the payroll checks. On the day specified for paying the store employees, the authorized employee may utilize the remote data processing system to print payroll checks on blank paper loaded into the printer.

The data processing system involved is a remote network comprised of a central server and a plurality of remote processing stations. The central server is connected by modem to the remote processing stations which can be either personal computers or keypad type processing systems discussed in greater detail below. Each of the remote processing stations is attached to a laser printer which has its own internal random access memory ("RAM").

In this system, fixed parameters necessary for printing payroll checks may be automatically downloaded to the remote data processing station by the data processing system or central server at the home office. These parameters include the employee's name, date, amount, financial institution name, facsimile signature and account number. In this manner, checks may be printed remotely at the store location, thus eliminating any need for delivering the checks overnight.

If the amount a particular employee is to be paid changes, the change may be forwarded to the home office data processing system, and immediately incorporated into the parameters downloaded to the remote location. Therefore, the checks that are printed will accurately reflect the employees' earnings. If, however, an error occurs, the authorized employee may notify the home office and print corrected checks immediately. The home office data processing system includes conventional routines that enable the printing of check stubs along with the checks themselves, and in the case of payroll checks the check stub will have printed on it the usual tax withholding information, normal deductions from pay and year-to-date information for taxes and earnings as is conventional.

The hardware used to implement the system described above can also be used to distribute site specific coupons. Site specific coupons are coupons targeted to the requirements of individual stores including specific details like the amount of the discount on the coupon, the days and hours the coupon is valid, the location at which the coupon is valid, the expiration date of the coupon, and the product to which the coupon applies. In the prior art method of distributing coupons the needs of individual stores cannot be taken into account. The present invention allows retailers or restaurants to customize coupons for specific locations. For example, if a certain product does not sell well at a particular location a coupon can be distributed that provides a greater discount at that location than the discount provided at other locations.

A site specific coupon is created by using a general coupon template and modifying the template with information specific to a particular location. Some information like the product, product logo, legal disclaimer, and the like is fixed for all coupons while other information like the discount, expiration date, location and the like is variable. A general coupon template can either be a digital representation of a complete coupon including all art work, logos, and text, or it can be an incomplete coupon with art work, logos and general text with specific information missing such as the amount of the discount, valid hours and dates, particular product or valid location. If the general coupon template is a complete coupon the site specific information used to make the site specific coupon overwrites the corresponding information on the complete coupon replacing it when the site specific coupon is printed. Likewise, if the general coupon template is an incomplete coupon the site specific information is inserted into the blanks on the template, thereby creating a complete site specific coupon.

In one embodiment of the present invention a general template, which can be either of the types of templates described above, is loaded onto the central server at the home office along with site specific information for the particular locations selected to receive the coupon. Both the template file and the site specific information file are downloaded by the indicated remote processing station which then uses the template modified by the site specific information to print the coupon on the laser printer using blank paper. The coupons can be printed by themselves or can be added to money orders or gift certificates printed by the system allowing specific markets to be targeted.

The above as well as additional objects, features, and advantages of the present invention will become apparent in the following detailed written description.

BRIEF DESCRIPTION OF THE DRAWINGS

The novel features believed characteristic of the invention are set forth in the appended claims. The invention itself however, as well as a preferred mode of use, further objects and advantages thereof, will best be understood by reference to the following detailed description of an illustrative embodiment when read in conjunction with the accompanying drawings, wherein:

FIG. 1 is a pictorial representation of a data processing system which may be utilized to implement the method and system of the present invention;

FIG. 2 is a pictorial representation of a keyboard within the data processing system of FIG. 1 in accordance with the present invention;

FIGS. 3A-3S together form a high level flow chart which depicts the operation of data processing system of FIG. 1 in accordance with the present invention; and

FIG. 4 is a high level flow chart which depicts data processing system 12 communicating with data processing system 14 in accordance with the present invention.

FIGS. 5A-5B are high level flow chars which depict the creation and distribution of site specific coupons.

FIG. 6 is a representation of a money order including a site specific coupon.

DETAILED DESCRIPTION OF PREFERRED EMBODIMENT

With reference to the figures and in particular with reference to FIG. 1, a pictorial representation of a data processing system 10 is illustrated which may be utilized to implement the method and system of the present invention. As may be seen, data processing system 10 may include data processing system 12 which may also be referred to as central server 12. Data processing system or central server 12 may communicate with a remote data processing system, or remote processing station 14 via a telephone system 16 including a modem 21.

Data processing systems 12 and 14 may be implemented by using any suitably configured computer system, such as an IBM compatible or a Macintosh. Remote data processing system 14 is preferably implemented by using another personal computer or a keypad type processing system such as a Verifone model OMNI 490 terminal available from Verifone, Inc., 3 Lagoon Drive, Redwood City, Calif. 94065. This is a compact unit which includes a modem and card reader. A Verifone TXO Workbench Package is a software development system available from Verifone, Inc. for use with the OMNI 490 series terminal. It is an integrated software package that allows an application to be easily developed for that terminal.

Data processing system 14 may be linked, via cable 15, to a printer 18 which may be implemented utilizing any suitable printer such as a Brother model HL-10V or equivalent laser printer available from Brother Industries. Printer 18 includes internal random access memory which can be manipulated by remote processing station 14. Printer 18 is connected to a power source 13 via cable 11. Remote processing station 14 is connected to power source 13 via cable 17.

The central server forming data processing system 12 may be used in conjunction with remote processing station 14 to automatically print financial instruments such as money orders, payroll checks, beer drafts, and even gift certificates. Data processing system 10 may also be used to automatically provide record keeping of financial instruments and printing activities. Remote processing station 14 automatically records all pertinent information about money orders and beer drafts printed each day, as well as payroll checks printed, and communicates with data processing system 12 on a routine basis, such as daily, to transfer the pertinent information to data processing system 12.

For example, remote processing station 14 may print a financial instrument such as money order or payroll check using blank paper. In known systems, data processing systems capable of printing money order or checks must be supplied with a pre-printed form which includes a first plurality of parameters. The first plurality of parameters may include the financial institution identification number, account number, check or sequence number, facsimile signature and other information. This includes any information related to a particular instrument which remains constant from transaction to transaction.

According to the present system, pre-printed forms are not necessary. Any suitable blank paper of the appropriate size may be used. The term "blank paper" is meant to preferably comprise any suitable "security paper" which may have background color or printing or distinctive watermarks or other overall indicia but which is otherwise unprinted as contrasted with preprinted forms. Remote processing station 14 will automatically determine the first plurality of parameters necessary to print a particular type of financial instrument.

Remote processing station 14 will then receive a second plurality of parameters to be printed with the first plurality of parameters in order to create a complete financial instrument. The second plurality of parameters may include a date, amount, payee, and other indicia that is not constant and varies from transaction to transaction. The second plurality of parameters may be received in response to a user entry of the parameters, or may be received from data processing system 12. At least some of the second plurality of parameters are input by the user, i.e., the amount. The date, for example, could be determined remotely and sent to the user location with the other input data since the date can be determined without user input even though it changes regularly.

In this manner, for example, payroll checks may be printed utilizing printer 18 by downloading necessary files from data processing system 12 to remote processing station 14. The files may include the amount of the check, date, and facsimile signature. Remote processing station 14 may determine the first plurality of parameters in order to create and print a complete payroll check.

FIG. 2 is a pictorial representation of a keyboard 19 which is typical of a keypad type processing system which can form remote processing station 14 if a personal computer is not used. Keyboard 19 includes three groups of keys: (1) the menu selection keys 20, (2) the function keys 22, and (3) the telephone style numeric keys 24. Key 26 is the money order print key. This allows the user to begin printing all money orders that have been entered into the money order log.

Key 28 is unused. Key 30 is the left arrow key and key 32 is the right arrow key. These keys move the user through the menu selections. All menus are circular so that pressing one of the keys repeatedly will return the user to the starting position in the menu.

Function keys 22 are the four keys on the right side of the keyboard. Key 34 is the Clear Key. This is used to abort a function after it has been selected. Key 36 is the Backspace Key, which is used to correct typographical errors when entering data. Key 38, the Alpha Key, is used to enter alphabetic characters and punctuation. Key 40 is the Enter Key. Key 40 is used to select the current menu functions and to indicate that the user is finished entering data.

Numeric keys 24 are used to enter numeric data. The letters and punctuation above each of the keys can be accessed by typing the numeric key and then Alpha Key 38 one to three times. For example, to type a "B" the user would press a Key 42 corresponding to numeric Key 2 and then press Alpha Key 38 twice.

Printer 18 may be implemented utilizing a laser printer such as a Brother HL-10V. Printer 18 must be able to ignore a paper size error, or be able to print on paper that is eight and one half by seven inches.

Printer 18 must be fitted with a conventional MICR toner cartridge to enable a bank clearing house to determine that the printed check is valid and automatically process the check. The MICR toner contains a specified minimum percentage of a magnetic medium. The magnetic medium is required for automatic scanning of printed checks. The magnetically responsive characters are printed at the bottom of the instrument. The preferred format for the MICR encoded characters is in a grid with 37 rows down and 36 columns wide.

Remote processing station 14 is preferably menu driven. The main menu may have six choices: (1) money order print, (2) manager functions, (3) cancellation form, (4) print refund form, (5) version information and (6) load fonts. To move between menu choices, a user may press either left arrow key 30 or right arrow key 32. A menu function may be selected by pressing enter key 40. Pressing clear key 34 will return the user to the main menu.

The manager function selection includes eleven choices: (1) print money order log, (2) print old money order log, (3) E-Mail, (4) force bulletin board call, (5) primary maintenance call, (6) secondary maintenance call, (7) daily closeout, (8) daylight savings, (9) upgrade software, (10) beer drafts, and (11) print payroll. In order to print a payroll, a manager's level password is required. For all other functions, an assistant manager's level password may be used.

FIGS. 3A through 3S together form a high level flow chart illustrating the method and system of the present invention. The process begins at block 60 FIG. 3A and thereafter passes to block 61 which illustrates data processing system 12, which may also be called "home office, " creating an initialization file for utilization by remote processing station 14. Next the process passes to block 62 which illustrates remote processing station 14 performing a self-initialization utilizing the initialization file created by data processing system 12.

Thereafter block 64 depicts remote processing station 14 downloading fonts to printer 18. Next block 66 illustrates displaying options to a user. Thereafter the process passes to block 68 which illustrates a determination of whether or not the user wishes to print a money order. If a determination is made that the user does not wish to print a money order, the process passes to block 70 which illustrates a determination of whether or not the user wishes to select "Manager Functions". If a determination is made that the user does not wish to select "Manager Functions", the process passes to block 72 which depicts a determination of whether or not the user wishes to print a cancellation form.

If a determination is made that the user does not wish to print a cancellation form, the process passes to block 74 which illustrates a determination of whether or not the user wishes to print a refund form. If a determination is made that the user does not wish to print a refund form, the process passes to block 75. Block 75 illustrates a determination of whether or not the user wishes to access information on the software version. If a determination is made that a user does not wish to access version information, the process passes to block 76. Block 76 illustrates a determination of whether or not the user wishes to load fonts into printer 18. If a determination is made that a user does not wish to load fonts into printer 18, the process again passes to block 68.

Referring again to block 68, if a determination is made that the user wishes to print a money order, the process passes to block 88 of FIG. 3B as depicted through block 78. Block 88 illustrates the establishment of a money order log. Each time a money order is printed, remote processing station 14 writes a description of the money order into the current money order log. The description includes the date and time of purchase, the store where the money order is purchased, the amount of the money order, the fee amount, and the check number.

The process then passes to block 90 which depicts a user specifying an amount for a money order. Next the process passes to block 92 which illustrates a determination of whether or not the entered amount is less than or equal to $300. A maximum possible amount for a money order may be arbitrarily determined by the home office. This maximum amount may be utilized to limit the company's liability when mistakes are made or a dishonest employee attempts to issue money orders. If a determination is made that the amount is over $300, the process again passes to block 90. Referring again to block 92, if a determination is made that the amount is less than or equal to $300, the process passes to block 94 which illustrates a determination of the total amount of money to be collected from the customer. The amount is calculated by adding the money order amount to any fee charged for printing the money order. In addition, if additional money orders have been sold to the customer, the amount of any additional money order plus any fee to be charged is added to the amount of the current money order plus its fee.

The process then passes to block 96 which depicts the displaying of the total amount to be collected from the customer. Thereafter the process passes to block 98 which illustrates the association of an identifying number with the amount to be collected from the customer for the current money order plus its associated fee. The process then passes to block 100 which depicts the displaying of the identifying number for the current money order. Next, the process passes to block 102 which depicts a determination of whether or not any more money orders are to be sold. If a determination is made that there are more money orders to be sold, the process passes back to block 90.

Referring again to block 102, if a determination is made that no more money orders are to be sold, the process passes to block 104 which illustrates storing each identifying number and the associated total to be collected from the customer for that money order in the money order log. Thereafter the process passes to block 106 which illustrates the printing of a money order for the specified amount for each identifying number stored in the money order log. The process then passes back to block 66 as depicted through block 162.

Referring again to block 70, if a determination is made that the user selects "Manager Functions", the process passes to block 110 FIG. 3C as illustrated through block 80. Block 110 depicts a determination of whether or not the user wishes to print the money order log. If a determination is made that the user does not wish to print the money order log, the process passes to block 111 which depicts a determination of whether a user wishes to print an old money order log. If a determination is made that the user does not wish to print an old money order log, the process passes to block 113 which depicts a determination of whether a user wishes to access E-Mail. If a determination is made that the user does not wish to access E-Mail, the process passes to block 114 which illustrates a determination of whether or not the user wishes to force a bulletin board service call.

If a determination is made that the user does not wish to force a bulletin board service call, the process passes to block 116 which illustrates a determination of whether or not the user wishes to make a primary maintenance call. If a determination is made that the user does not wish to make a primary maintenance call, the process passes to block 115 which depicts a determination of whether a user wishes to make a secondary maintenance call. If a determination is made that the user does not wish to make a secondary maintenance call, the process passes to block 112 which depicts a determination of whether a user wishes to perform the daily close-out.

If a determination is made that the user does not wish to perform the daily close-out, the process passes to block 119 which depicts a determination of whether a user wishes to change to or from daylight savings time. If a determination is made that the user does not wish to change to or from daylight savings time, the process passes to block 121 which depicts a determination of whether a user wishes to upgrade the software. If a determination is made that the user does not wish to upgrade the software, the process passes to block 118 which illustrates a determination of whether or not the user wishes to select "beer drafts". If a determination is made that the user does not wish to select "beer drafts", the process passes to block 120 which illustrates a determination of whether or not the user wishes to print the payroll.

If the determination is made that the user does not wish to print the payroll, the process passes to block 122 which depicts a determination of whether or not a close-out has been performed. If a determination is made that a close-out has been performed, the process again passes to block 110.

Referring again to block 110, if a determination is made that a user wishes to print a money order log, the process passes to block 150 FIG. 3D as illustrated through block 124. Block 150 depicts the prompting of the user to enter the user's password. Next the process passes to block 152 which depicts a determination of whether or not the entered password is valid. If a determination is made that the entered password is not valid, the process passes again to block 66 as depicted through block 162. Referring again to block 152, if a determination is made that the entered password is valid, the process passes to block 154 which illustrates a determination of whether or not the money order log contains any entries. If a determination is made that the money order log does not contain any entries, the process again passes to block 66 as illustrated through block 162.

Referring again to block 154, if a determination is made that the money order log does contain entries, the process passes to block 156. Block 156 illustrates a determination of whether or not the user has selected to print the money order log. If a determination is made that the user has not selected to print the money order log, the process passes to block 66 again as depicted through block 162. Referring again to block 156, if a determination is made that the user does wish to print the money order log, the process passes to block 158 which illustrates the money order log file being sent to printer 18. Thereafter the process passes to block 160 which illustrates a determination of whether or not the user wishes to print additional copies of the money order log. If a determination is made that the user does not wish to print any additional copies of the money order log, the process again passes to block 66 as depicted through block 162. Referring again to block 160, if a determination is made that a user wishes to print additional copies of the money order log, the process again passes to block 158.

Referring again to block 111 FIG. 3C, if a determination is made that a user wishes to print an old money order log, the process passes to block 412 of FIG. 3P as illustrated through block 125. Block 412 depicts the prompting of the user to enter the user's password. Next the process passes to block 414 which depicts a determination of whether or not the entered password is valid. If a determination is made that the entered password is not valid, the process passes again to block 66 as depicted through block 162. Referring again to block 414, if a determination is made that the entered password is valid, the process passes to block 416 which prompts the user to enter the month of the log to be printed. Once the user enters the month the process passes to block 418 which prompts the user to enter the day of the log to be printed. Once the day of the log is entered the process passes to block 420 which determines whether the log to be printed exists. If the log does not exist the process passes to block 422 which briefly displays the message "MOLOG NOT FOUND" and then passes back to block 416 prompting the user for another month.

If the log does exist the process passes to block 424 which illustrates a determination of whether or not the money order log contains any entries. If a determination is made that the money order log does not contain any entries, the process again passes to block 66 as illustrated through block 162.

Referring again to block 424, if a determination is made that the money order log does contain entries, the process passes to block 426. Block 426 illustrates a determination of whether or not the user has selected to print the old money order log. If a determination is made that the user has not selected to print the old money order log, the process passes to block 66 again as depicted through block 162. Referring again to block 426, if a determination is made that the user does wish to print the old money order log, the process passes to block 428 which illustrates the money order log file being sent to printer 18. Thereafter the process passes to block 66 again as depicted through block 162.

Referring again to block 113 FIG. 3C, if a determination is made that a user wishes to access E-Mail, the process passes to block 430 in FIG. 3Q as depicted through block 127. As shown in block 430 the user may chose to print or delete E-Mail files.

If the user chooses to print E-Mail files the process passes to block 432 which prompts the user to enter a password. When the password is entered the process passes to block 434 to determine if the password is valid. If the password is invalid the process passes to block 66 as depicted through block 162. If the password is valid the first E-Mail message in the log is displayed. The user may scroll through the messages using the selection keys 20. A message is selected by pressing the enter key 40 when the desired message is displayed. Pressing the enter key 40 will pass the process to block 438 which send the message to the printer 18. The process then passes to block 440 which determines whether additional files will be printed. If yes is selected the process passes back to block 436, otherwise by pressing the clear key 34 the process passes back to block 66 through block 162.

If the user chooses to delete E-Mail files the process passes to block 442 which prompts the user for a password. After the password is entered the process passes to block 444 which determines is the password is valid. If the password is invalid the process passes to block 66 through block 162. If the password is valid the process passes to block 446 which displays the file name of the first E-Mail file in the log. If the user presses the enter key 40 the process passes to block 448 where the E-Mail file is deleted. The process then passes to block 450 which determines is there are any more files in the log. If there are more files the process returns to block 446. If the log is empty the process passes to block 452 which briefly displays the message "No E-Mail Files" and then passes on to block 66 through block 162.

Referring again to block 114, if a determination is made that the user wishes to force a bulletin board service call, the process passes to block 229 as depicted through block 128 FIG. 3G. Block 229 illustrates the prompting of the user to enter the user's password. Thereafter the process passes to block 230 which illustrates a determination of whether or not the entered password is valid. If a determination is made that the user's password is not valid, the process passes to block 66 as illustrated through block 162.

Referring again to block 230, if a determination is made that the entered password is valid, the process passes to block 232 which illustrates a determination of whether or not remote processing station 14 was successfully connected to data processing system 12. If a determination is made that a connection was not made, the process passes to block 66 as depicted through block 162. Referring again to block 232, if a determination is made that a connection was made, the process passes to block 234 which illustrates the displaying of a message indicating that there was a successful connection. Thereafter the process passes to block 236 which illustrates data processing system 12 conducting a bulletin board service call in accordance with the prior art. Any suitable bulletin board service may be used such as The Major BBS by Galacticomm. In accordance with the present invention, the process then again passes to block 66 as illustrated through block 162.

Referring again to block 116, if a determination is made that the user wishes to make a primary maintenance call, the process passes to block 240 as illustrated through block 130 FIG. 3H. Block 240 depicts the prompting of the user to enter the user's password. The process then passes to block 242 which illustrates a determination of whether or not the entered password is valid. If a determination is made that the entered password is not valid, the process again passes to block 66 as illustrated through block 162.

Referring again to block 242, if a determination is made that the entered password is valid, the process passes to block 244 which illustrates a determination of whether or not remote processing station 14 was successfully connected to data processing system 12. If a determination is made that a connection was not successful, the process passes to block 66 as illustrated through block 162. Referring again to block 244, if a determination is made that a connection was made, the process passes to block 246 which illustrates the displaying of a message indicating a successful connection. Thereafter the process passes to block 248 which illustrates data processing system 12 conducting a maintenance call. Next, the process passes to block 66 as illustrated through block 162.

Referring again to block 115, if a determination is make that the user wishes to make a secondary maintenance call the process passes again to block 240 as illustrated through block 129. The process illustrated by FIG. 3H is conducted is the same manner as a primary maintenance call, but when block 248 is reached a different set of maintenance routines are run than in the primary maintenance.

Referring again to block 112, if a determination is made that a user wishes to perform the daily close-out, the process passes to block 170 as depicted through block 126 FIG. 3E. At a specified time each day, the manager or assistant manager closes out the store and balances the cash in the registers against the sales records. A record of money orders and beer drafts sold is kept by remote processing station 14 as described above. The closeout function allows the manager to close-out remote processing station 14 each day and print as many copies of the day's log of money order sales and beer drafts as needed. If no money orders have been sold and no beer drafts printed since the last daily close-out, remote processing station 14 still needs to be closed out, but no daily sales record will be printed. The close-out transfers the contents of the current money order log file to a dated file which will then be sent to data processing system 12 during the daily call.

Block 170 depicts a determination of whether or not the system has already been closed out for the current date. If a determination is made that the system has already been closed out, the process passes to block 172 which illustrates the displaying of a message: "Already Closed." Thereafter the process again passes to block 66 as illustrated through block 162.

Referring again to block 170, if a determination is made that the system has not already been closed out for the current date, the process passes to block 174 which illustrates the prompting of the user to enter a password. Next the process passes to block 176 which illustrates a determination of whether or not the entered password is valid. If a determination is made that the entered password is not valid, the process again passes to block 66 as depicted through block 162. Referring again to block 176, if a determination is made that the password entered by the user is valid, the process passes to block 178 which illustrates a determination of whether or not the user wishes to print the money order log. If a determination is made that the user wishes to print the money order log, the process passes to block 150 FIG. 3D as depicted through block 124.

Referring again to block 178, if a determination is made that the user does not wish to print the money order log, the process passes to block 180 which illustrates a determination of whether or not the user wishes to complete the closing process. If a determination is made that the user does not wish to complete the closing process, the process passes again to block 66 as illustrated through block 162. Referring again to block 180, if a determination is made that the user does wish to complete the closing process, the process passes to block 182 which depicts a determination of whether or not any money orders or beer drafts have been sold since the last closing. If a determination is made that no money orders or beer drafts have been sold since the last closing, the process passes to block 184 which illustrates the creation of a dated file containing the message, "No Money Orders Sold Today."

The dated file name is determined by the time of the closeout, the close day parameter and the store identification number. If the close day parameter is set to "previous," the file name will be named according to the previous day. If the close day parameter is set to "current," the file will be named according to the current date. For example, on June 23, a file from Store #253 with the close day parameter set to "previous" will be named $253MO.622, where $ is a preset prefix, 253 identifies the store, MO is a preset parameter, and 622 indicates a close day of June 22. If the close day parameter is set to "current," on June 23, a file from Store 253 would be named $253MO.623.

Thereafter the process passes to block 185 which illustrates the storage of the dated file in a transfer file containing a list of files to be transferred to data processing system 12. The transfer file contains the names of all files that need to be transferred from remote processing station 14 to data processing system 12. Next the process passes to block 186 which illustrates the transferring of all files listed in the transfer file to data processing system 12. Thereafter the process again passes to block 66 illustrated through block 162.

Referring again to block 182, if a determination is made that money orders or beer drafts have been sold since the last closing, the process passes to block 190 which illustrates a determination of whether or not a close day perimeter is set to "current" or "previous." If the close day perimeter is set to "previous, " the process passes to block 192 which illustrates setting the file name according to the previous date. The process then passes to block 196 as illustrated through block 194 FIG. 3F.

Referring again to block 190, if a determination is made that the close day perimeter is set to "current," the process passes to block 198 which illustrates the setting of the file name according to the current date. Thereafter the process passes to block 196 as depicted through block 194.

Block 196 illustrates including the name of the dated file in the transfer file. Next the process passes to block 204 which illustrates a determination of whether or not this is the last day of the current month. The money order and beer drafts logs are stored within remote processing station 14 up to one month. The close-out function deletes the files created on the same day of the previous month. On the last day of the month the close-out function deletes all of the remaining files from the previous month.

For example, on April 3, the close-out function creates the files dated April 3 and deletes the files dated March 3. On April 30, the last day of the month, the close-out function creates the files dated April 30 and deletes not only the files dated March 30, but also the files dated March 31.

Referring to block 204, if a determination is made that this is the last day of the current month, the process passes to block 205 which depicts clearing the current money order and beer draft files. Block 206 illustrates the deletion of all files from the previous month. Thereafter the process passes to block 208 which illustrates the transferring of the files listed in the transfer file to data processing system 12. The process again passes to block 66 as depicted through block 162.

Referring again to block 204, if a determination is made that this is not the last day of the current month, the process passes to block 210 which illustrates the clearing of the current money order and beer draft files. Thereafter the process passes to block 212 which illustrates the deletion of the files from the same date of the previous month. Next the process again passes to block 208 and thereafter to block 66 as illustrated through block 162.

Referring again to block 119, if a determination is made that the user wishes to select daylight savings, the process passes to block 454 as illustrated through block 133 FIG. 3R. As shown in block 454 the user may chose to spring forward or fall back.

If the user chooses to spring forward the process passes to block 456 which prompts the user to enter a password. When the password is entered the process passes to block 458 to determine if the password is valid. If the password is invalid the process passes to block 66 as depicted through block 162. If the password is valid the process passes to block 460 and "Current Time: hh:mm" is displayed. The process then passes to block 462 which displays "Change to: hh:mm" where hh:mm is one hour later than in block 460. The process then passes to block 464. If the uses selects not to change, the process passes back to 66 through block 162. If the user decides to change the process passes to block 468 which updates the time by adding an hour, and then the process passes back to 66 through block 162.

If the user chooses to fall back the process passes to block 470 which prompts the user for a password. After the password is entered the process passes to block 472 which determines is the password is valid. If the password is invalid the process passes to block 66 through block 162. If the password is valid the process passes to block 474 which briefly displays the message "Current Time: hh:mm," and then passes the process to block 476 which displays the message "Change to: hh:mm" where hh:mm is one hour earlier than the time of block 474. The process passes to block 478 where the user chooses whether to change. If the user chooses not to change the process passes to block 66 through block 162. If the user decides to change the process passes to block 480 which updates the time by subtracting an hour, and then the process passes back to 66 through block 162.

Referring again to block 121, if a determination is made to upgrade the software, the process passes to block 484 as illustrated through block 135 FIG. 3S. Block 484 prompts the user for a password. After the password is entered the process passes to block 486 which determines is the password is valid. If the password is invalid the process passes to block 66 through block 162. If the password is valid the process passes to block 488 in which the home office upgrades the software. After the upgrade is complete the process restarts by passing back to block 61 through block 60.

Referring again to block 118, if a determination is made that the user wishes to select "beer drafts", the process passes to block 260 as illustrated through block 132 FIG. 3I. Block 260 depicts the establishment of a beer draft log. Each time a beer draft is printed a description of the beer draft is entered into the current beer draft log file. The description includes the date and time the draft is printed, the store where the beer draft is printed, the amount of the beer draft, the check number, the vendor invoice number and the vendor name.

Thereafter the process passes to block 262 which illustrates the establishment of a file which may contain valid vendor names and their associated vendor identification numbers. Next the process passes to block 264 which illustrates the prompting of the user to enter the user's password. Thereafter the process passes to block 266 which illustrates a determination of whether or not the entered password was valid. If a determination is made that the entered password was not valid, the process passes to block 66 as illustrated through block 162. Referring again to block 266, if a determination is made that the entered password is valid, the process passes to block 268 which illustrates the specification of a vendor identification number.

The process then passes to block 270 which illustrates a determination of whether or not the specified vendor identification number is valid. If a determination is made that the vendor identification number is not valid, the process passes to block 66 as illustrated through block 162. Referring again to block 270, if a determination is made that the specified vendor identification number is valid, the process passes to block 272 which illustrates the specification of an invoice number. Thereafter the process passes to block 274 which illustrates the entering of an amount for the beer draft. Next the process passes to block 276 which illustrates a determination of whether or not the entered amount is less than or equal to $2,500. A maximum amount for a beer draft may be arbitrarily set by the home office to limit its liability. If the entered amount is not less than or equal to $2,500, the process again passes to block 274. Referring again to block 276, if a determination is made the entered amount is less than or equal to $2,500, the process passes to block 290 as illustrated through block 278 FIG. 3J.

Block 290 illustrates the determination of a fee to be collected from the customer for the beer draft. Thereafter the process passes to block 292 which illustrates the displaying of the total amount to be collected which includes the amount of the beer draft plus the fee to be collected. Block 294 illustrates the association of an identifying number with the amount of this beer draft. Thereafter block 296 illustrates the displaying of the identifying number of this beer draft. Thereafter the process passes to block 298 which illustrates a determination of whether or not the user wishes to print another beer draft for the same vendor and same invoice number. If a determination is made that the user does wish to print another beer draft, the process passes back to block 274 as illustrated through block 300.

Referring again to block 298, if a determination is made that the user does not wish to print another beer draft for the same vendor and invoice number, the process passes to block 302 which illustrates the storage of the identifying number with its associated amount for each beer draft in the beer draft log. Thereafter the process passes to block 304 which illustrates a determination of whether or not the user wishes to print the beer draft. If the determination is made that the user does not wish to print the beer draft, the process passes to block 66 as illustrated through block 162. Referring again to block 304, if a determination is made that the user does wish to print the beer draft, the process passes to block 306 which illustrates the printing of beer drafts for the amount indicated in the beer draft log. The process then passes to block 66 as illustrated through block 162.

Referring again to block 120 FIG. 3C, if a determination is made that the user wishes to print the payroll, the process passes to block 310 as illustrated through block 134, FIG. 3K. Block 310 illustrates the prompting of the user to enter the user's password. The process then passes to block 312 which illustrates a determination of whether or not the entered password is a valid manager's password. If a determination is made that the entered password is not a valid manager's password, the process again passes to block 66 as illustrated through block 162.

Referring again to block 312, if a determination is made that the entered password is a valid manager's password, the process passes to block 314 which illustrates a determination of whether or not data processing system 12 has downloaded to remote processing station 14 all files needed to print the payroll. If a determination is made that data processing system 12 has not downloaded all necessary files, the process again passes to block 66 as illustrated through block 162. Referring again to block 314, if a determination is made that data processing system 12 has downloaded all necessary files, the process passes to block 316 which illustrates a determination of whether or not the current date matches the date contained within the payroll file. If a determination is made that the current date does not match the date contained within the payroll file, the process again passes to block 66 as illustrated through block 162.

Referring again to block 316, if a determination is made that the current date does match the date contained within the payroll file, the process passes to block 318 which illustrates a determination of whether or not printer 18 is ready to print the payroll. If a determination is made that printer 18 is not ready to print the payroll, the process again passes to block 66 as illustrated through block 162. Referring again to block 318, if a determination is made that printer 18 is ready to print the payroll, the process passes to block 320 which illustrates printing of the payroll. The process then passes to block 321 which depicts the storage of the name of the printed payroll file. Thereafter, the process passes to block 322 which illustrates the deletion of the payroll file stored within remote processing station 14. The process again passes to block 66 as illustrated through block 162. Referring again to block 122, if a determination is made that a close-out has not been performed at the scheduled close-out time, the process passes to block 328 as illustrated through block 136, FIG. 3L. If the manager or assistant manger fails to close-out remote processing station 14 by the specified close-out time, remote processing station 14 will automatically close out and print two copies of the money order log file if any money orders have been sold since the last close-out and two copies of the beer draft file if any beer drafts have been printed since the last close-out. The file suffix of the dated file is controlled by two parameters during a force closeout to allow the force closeout to occur on the following day. The close day parameter is applied first as described above. Then the force day parameter is applied.

For example, suppose store 999 is scheduled to close-out at 11:50 p.m. every day and that today is July 6. If the close day parameter is set to "current" and the force day parameter is set to "previous," and the force close-out is 3:00 a.m., the manager must close out before 3:00 a.m. to avoid a forced close-out. If the manager does close-out before 3:00 a.m., the close file will be named $999MO.706 where $ is preset, 999 indicates the store number, MO is preset, and 706 indicates the current date. However, if the manager does not close-out before 3:00 a.m., the file will also be named $999MO.706 where $ is preset, 999 indicates the store number, MO is preset, and 706 indicates the previous day because the close actually occurred about 3:00 a.m. on July 7.

Block 328 illustrates specifying a force close-out time. Thereafter the process passes to block 330 which depicts a determination of whether or not the force day perimeter is set to "present" or "current." If a determination is made that the force day perimeter is set to "previous," the process passes to block 334 which depicts the setting of the force close-out file name to include the previous date. Thereafter the process passes to block 336.

Referring again to block 332, if a determination is made that the force close day perimeter is set to "current," the process passes to block 338 which depicts setting the force close-out file name to include the current date. Once again the process passes to block 336 which depicts a determination of whether or not any money orders have been sold since the last close-out. If a determination is made that money orders have been sold since the last close-out, the process passes to block 340 which depicts printing two copies of the money order and beer draft logs. Thereafter the process once again passes to block 190 as depicted through block 202. Referring again to block 336, if a determination is made that no money orders have been sold, the process once again passes to block 190 through block 202, FIG. 3E.

Referring again to block 72, if a determination is made that the user wishes to print a cancellation form, the process passes to block 404 as depicted through block 82, FIG. 3M. Block 404 depicts the printing of a cancellation form. Sometimes a money order is printed that is not needed, or is printed incorrectly. However, in both of these cases, an entry was places in the money order log. A cancellation form may be printed to be used to report the unused money order. The process once again passes to block 66 as illustrated through block 162.

Referring again to block 74, if a determination is made that the user wishes to print a refund form, the process passes to block 406 as depicted through block 84, FIG. 3N. Block 406 depicts the determination of whether or not the user wishes to print a refund form in English or Spanish. If a determination is made that the user wishes to print the form in English, the process passes to block 408 which depicts the printing of the form in English. The process thereafter once again passes to block 66 as illustrated through block 162. Referring again to block 406, if a determination is made that the user wishes to print the refund form in Spanish, the process passes to block 410 which illustrates the printing of the refund form in Spanish. The process then passes to block 66 as illustrated through block 162.

Referring to block 75, if a determination is made that the user wishes to display version information control passes to block 85 which briefly displays the version number and then passes to block 66 through block 162.

Referring to block 76, if a determination is made that the user wishes to download fonts to printer 18, the process passes to block 400 as illustrated through block 86, FIG. 3O. Block 400 illustrates downloading the fonts to printer 18. Next the process passes to block 402 which illustrates a determination of whether or not remote processing station 14 was able to download the fonts. If a determination is made that the fonts were successfully downloaded, the process again passes to block 66 as illustrated through block 162. Referring again to block 402, if a determination is made that the fonts were not successfully downloaded, the process passes to block 403 which illustrates a determination of whether or not the user wishes to attempt to download fonts again. If a determination is made that the user does not wish to again attempt to download fonts, the process passes to block 66 as illustrated through block 162. Referring again to block 403, if a determination is made that the user does wish to again attempt to download fonts, the process passes back to block 400.

FIG. 4 depicts a high level flow chart illustrating data processing 12 system communicating with remote processing station 14 in accordance with the present invention. The process starts as depicted at block 500. Thereafter the process passes to block 502 which illustrates the specification of a time during which remote processing station 14 is to attempt to communicate with data processing system 12 utilizing telephone system 16. Next the process passes to block 504 which depicts a determination of whether or not the current time is the same as the specified time. If a determination is made that the current time is not the specified time, the process passes again to block 504.

If a determination is made that the current time is the specified time, the process passes to block 506 which depicts the displaying of a "Call Pending" message. Thereafter, the process passes to block 508 which depicts a determination of whether or not the user wishes to delay the call. If a determination is made that the user does wish to delay the call, the process passes to block 510 which illustrates waiting five minutes. The process then passes back to block 506.

Referring again to block 508, if a determination is made that the user does not wish to delay the call, the process passes to block 512 which depicts remote processing station 14 calling data processing system 12 utilizing telephone system 16. Thereafter the process passes to block 514 which illustrates a determination of whether or not remote processing station 14 was successfully connected to data processing system 12. If a determination is made that the two systems were successfully connected, the process passes to block 516 which depicts the transferring of files between the two data processing systems. The process then terminates as depicted at block 518.

Referring again to block 514, if a determination is made the call was not successfully connected, the process passes to block 520 which illustrates a determination of whether or not this is the third attempt at making a successful connection. If a determination is made that this is the third attempt, the process passes to block 518. Referring again to block 520, if a determination is made that this is not the third attempt, the process passes to block 512.

FIGS. 5A and 5B are flow charts that show the preferred embodiment of how the system of FIG. 1 can be used to distribute site specific coupons. FIG. 5A shows the process by which site specific coupons are distributed from the central server to each of the remote locations. FIG. 5B shows the process by which the remote location uses the information from the central server to create the site specific coupon particular to that remote location.

Referring now to FIG. 5A, block 602 represents loading a general coupon template on central server 12 from FIG. 1. The general coupon template from block 602 is the necessary art work, logos and general information to appear on the final coupon. The general coupon template can be a complete coupon including all necessary information, or can be an incomplete coupons which is missing the information that is particular to each individual site.

This site specific information can be information such as the amount of the discount, the hours and days the coupon is valid, the address of the valid location. This site specific information is placed in site specific information files which are also loaded on central server 12 as represented by block 604. If the general coupon template is a complete coupon the site specific information need only be the information to be modified to make the coupon site specific. This information replaces or overlays the information existing on the complete coupon template. Conversely, if the coupon template is an incomplete coupon, the site specific information must include the information necessary to complete every blank in the template. This site specific information is added to the incomplete coupon template to fill in all the blanks.

In order to ensure that remote processing station 14 from FIG. 1 receives the proper coupon templates a location instruction file is created on central server 12 for each particular remote location as shown by block 606. The remote processing station 14 of FIG. 1 uses modem 21 to call and log on to central server 12 as represented by block 608. Block 610 represents the remote processing station accessing the location instruction file created in block 606.

The location instruction file contains instructions for remote processing station 14 to follow when remote processing station communicates with central server 12. These instructions include all aspects of the communication between the two data processing systems in the present invention, but specifically regarding the site specific coupons, the location instruction file tells the remote processing station which general templates to download for this remote location and which site specific information files to download for the general templates. The downloading of these files by the remote processing station is represented by block 612. Block 612 occurs by the method described with reference to FIG. 4 and particularly block 516 of FIG. 4. After the instructions in the location instruction file have been completed the remote processing station ends communication with the central server as shown by block 614.

The remote processing station communicates with the central server only as often as is necessary to keep the information on both systems up to date. This is preferably nightly but can be longer or shorter as is necessary. The central server is not involved with the actual printing of the coupons at the remote location, but merely provides the remote processing station with the information necessary to print current coupons.

FIG. 5B is a flow chart that shows how the general template and the site specific information is used by the remote processing station and the accompanying printer to produce a site specific coupon. The process of FIG. 5B can be implemented independently, or for example can print a site specific coupon on a money order form by printing the site specific coupon of FIG. 5B concurrently with block 106 of FIG. 3B.

Referring now to FIG. 5B, block 620 represents remote processing station 14 sending the general coupon templates to printer 18 and storing them in the printer's random access memory. If the printer contains enough random access memory, multiple coupon templates can be stored allowing the remote processing station to choose which of the coupons available in the printer memory will be printed. The templates are generally loaded into the printer when the system is initialized.

Block 622 represents remote processing station 14 receiving an instruction to print a coupon. This instruction can be a request at the remote processing station for a coupon for a specific product, or it can be a request for a transaction onto which a coupon is appended such as a money order transaction. Remote processing station 14 then indicates which coupon will be printed, or if the specific coupon is not important, randomly selects a coupon from the templates available as shown by block 624. Once the particular coupon is selected the site specific information necessary to complete the coupon is sent from the remote processing station to the printer, as represented by block 626. Block 628 represents printer 18 then printing the site specific coupon. This method has the advantage of quick printing times since the majority of the coupon information is stored in the printer's memory. Only the site specific information needs to be sent to the printer at the actual time of the transaction.

FIG. 6 shows one method of distributing the site specific coupons printed by the present invention. A coupon can be included in a money order transaction as indicated above, where coupon 640 is printed on page 638 with money order 644 and transaction record 642. This can be accomplished, as previously mentioned, by printing a site specific coupon according to FIG. 5B concurrently with block 106 of FIG. 3B.

The system for printing site specific coupons can also be used as a separate apparatus allowing site specific coupons to be distributed directly to customers at retail stores. The separate apparatus is the same system as shown in FIG. 1 utilizing a personal computer instead of keypad data processing unit 14, and the system includes an interface which allows the customer to chose the coupon he wants printed. The interface can be a touchscreen device with the logos or descriptions of the products on which the system has coupons appearing on the screen. The touchscreen allows the customer to touch the logo of the product to initiate the printing and to choose the coupon to be printed. The customer touching the touchscreen would in effect perform the steps shown in blocks 622 and 624 of FIG. 5B. This stand alone system would eliminate the need to print and distribute coupons to people who will not use the coupon. In this system the site specific coupons are only printed for and distributed to the people who will actually use the coupon.

The source code of the portion of the program implementing the printing of money orders, vendor drafts, payroll checks, and gift certificates as well as the combining of the coupon template and the site specific information in the printer to form a complete coupon is attached hereto. Any suitable laser printer using the Hewlett Packard PCL-4 or PCL-5 command set can be used.

The source code begins with a definition of variables used in program, and then loads general information into the printer like the maximum amount available for money orders, signature files, store IDs, and templates. At this point, the program is broken down into cases or objects that are called individually when needed by the program. Cases not specifically discussed below have been reserved for future use.

Case 2 sets a timer that is used by the program to detect errors by setting a maximum time to complete a function. If the function has not been completed by the maximum time the program knows that an error must have occurred and calls an error routine.

Cases 3, 4 and 5 are used to set printer positions by manipulating X axis and Y axis offsets. Case 3 is used to set only X offsets, case 4 is used to set only Y offsets, and case 5 is used to set X and Y offsets.

Case 6 is used to set a default point size for text. Other point sizes may be used if specifically designated, but if not designated the point size used is the one set by case 6.

Cases 7, 8 and 9 are used to print the strings that form the different instruments or coupons. Case 7 prints a string directly while case 8 first sets the X and Y offsets before printing the string and case 9 first sets the offsets and the point size before printing the string. These cases are called repetitively as required to print the entire instrument or coupon.

Case 10 is used to change the height of characters without altering the point size set in case 6. Case 12 prints the check numbers and removes any leading zeros. Cases 13 and 14 are used to position the dollars and cents information, respectively. The width of these fields varies S according to the amount of instrument necessitating the inclusion of cases 13 and 14. Cases 15, 16 and 17 are used to print the dollar amount, date, and store number, respectively.

Cases 18 and 21 calculate the width of the shaded area in which the dollar and cents amounts are printed. Cases 19 and 22 prints the dollar and cents amount, respectively, in a shaded area sized by cases 18 and 21. Case 24 is used to print the dollars and cents amount in printed words, English in the preferred embodiment.

Case 25 is used to create the stub portion when printing payroll checks. Cases 26, 27, 28 and 29 print the payee's name address line 1, address line 2, and city, state, zip code on the payroll check, respectively. Case 30 is used to place the lines on the payroll form, and case 31 removes any leading zeros and prints the check number.

Case 32 is used to remove the record from the payfile when the payroll check has been printed. Case 33 is used to decrypt and then to print the authorizing signature on the check. Case 34 places a time and date stamp on the instrument.

Cases 35, 36, 37, and 38 are used in printing of vendor drafts. Case 35 prints the vendor name on the draft while case 36 prints the vendor ID. Case 37 adds the invoice number for the transaction the draft is paying, and case 38 prints the number of the draft in the sequence, as in check 1 of 5.

Case 100 increments the printout counter in response to the completion of an instrument. Claim 200 checks to see if the maximum amount for the instrument has been exceeded.

The section of program code ends with a check of error conditions and the timer value to ensure that the maximum time for the action has not been exceeded.

While the invention has been particularly shown and described with reference to a preferred embodiment, it will be understood by those skilled in the art that various changes in form and detail may be made therein without departing from the spirit and scope of the invention. 

What is claimed is:
 1. A method for printing a site specific coupon at a remote site of a plurality of remote sites using a network comprising a central server at a home office and a processing station at each of the plurality of remote sites operatively connected to the central server, the processing stations including a printer having an internal memory, the method comprising the steps of:a) loading a general coupon template and at least one site specific information file into the central server; b) creating a location instruction file on the central server to instruct the processing station at the remote sites to retrieve the general coupon template and the at least one site specific information file designated for use at specific remote sites; c) accessing the central server by the processing station at one specific remote site, wherein the processing station opens the location instruction file on the central server particular to the specific remote site to identify the general coupon template and the site specific information file for the specific remote site; d) downloading by the processing station, the general coupon template and the site specific information file identified in the location instruction file to the processing station at the specific remote site; e) combining the general coupon template and the site specific information file in the processing station to create the site specific coupon; and f) printing the site specific coupon on blank paper utilizing the printer located at the specific remote site.
 2. The method of claim 1, wherein the step of combining the general coupon template and the site specific information file further comprises the steps of:e1) preloading the general coupon template into the internal memory of the printer from the remote processing station; and e2) sending the site specific information to the internal memory of the printer from the remote processing station at the specific site after a command to print the site specific coupon has been received by the remote processing station therein.
 3. The method of claim 1, wherein the step of printing the coupon includes:printing the coupon on a money order generated by the remote processing station at said specific site when printed by the printer at said specific site.
 4. The method of claim 1, wherein the general coupon template is a complete coupon and the site specific information overwrites information already contained in the general coupon template.
 5. The method of claim 1 wherein the general coupon template is an incomplete coupon and the site specific information completes the general coupon template to form a complete site specific coupon.
 6. A system for creating site specific coupons at a plurality of remote locations which are controlled by a home office comprising:a) a central server at the home office, the central server storing a general coupon template, the central server also storing a site specific information file and a site instruction file for each of the plurality of remote locations; b) a processing station at each of the plurality of remote locations connected to the central server by a communications device, the processing station reading the site information file and downloading the general coupon template and site specific information file designated for that remote location; and c) a printer at each of the plurality of remote locations connected to the processing station and able to print the site specific coupons formed by the general coupon template and the site specific information file.
 7. The system of claim 6 wherein the general coupon template includes artwork, logos and general information, and wherein the site specific information file includes a discount amount, valid dates and times, and redemption locations.
 8. The system of claim 6 wherein the general coupon template is a complete coupon and the site specific information file overwrites information in the general coupon template to create the site specific coupon.
 9. The system of claim 6 wherein the general coupon template is a incomplete coupon and the site specific information file fills in information in the general coupon template to create the site specific coupon.
 10. The system of claim 6 wherein the site specific coupon is printed and distributed as part of a money order.
 11. The system of claim 6 wherein the printer prints the site specific coupon on blank paper.
 12. The system of claim 6 wherein the system also includes means for creating payroll checks, money orders and vendor drafts for each of the plurality of remote locations. 